home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-06-27 | 19.4 KB | 717 lines | [TEXT/MPS ] |
- { *** =================================================== ***
-
- Purpose: Terminal tool main definition code
- module. This primitive tool does not perform even
- the most rudimentary functions of the next world-
- class terminal, but provides a simple demonstration
- of discussion between various portions of the
- Communications Toolbox.
-
- Module : tdef.p
-
- Authors: Craig Hotchkiss, Alex Kazim, Byron Han,
- Carol Lee
- Apple Computer, Inc.
- Networks & Communications
- 20525 Mariani Drive
- Cupertino, CA 95014
-
- Version : 1.0d1
-
- Date : 9.may.89
-
- History :
- 9.may.89 Creation date
-
-
- ©1989 Apple Computer, Inc. All Rights Reserved.
- This software is proprietary to Apple Computer, Inc.
- It may not be copied, in whole or in part,
- without the written consent of Apple Computer, Inc.
-
- *** =================================================== *** }
-
-
-
-
- UNIT TERMINALtdef;
-
-
- INTERFACE
-
-
- USES MemTypes,
- QuickDraw,
- OSIntf,
- ToolIntf,
- PasLibIntf,
- Lists,
- CRMSerialIntf,
- CRMIntf,
- CTBUtils,
- CMIntf,
- TMIntf,
- FTIntf,
- TerminalTool,
- TermGlobalUnit;
-
-
- FUNCTION tdefMAIN(hTerm: TermHandle; msg: Integer;
- p1, p2, p3: LongInt) : LongInt;
-
-
- IMPLEMENTATION
-
-
-
- { This block of forward declarations are necessary to introduce
- this tool's procs and funcs before they are used in tdefMAIN,
- the main segment of this module. }
- FUNCTION TermToolInit(hTerm: TermHandle): LongInt;
- FORWARD;
- PROCEDURE TermToolDispose(hTerm: TermHandle);
- FORWARD;
- PROCEDURE TermToolSuspend(hTerm: TermHandle);
- FORWARD;
- PROCEDURE TermToolResume(hTerm: TermHandle);
- FORWARD;
- FUNCTION TermToolMenu(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolEvent(hTerm: TermHandle): LongInt;
- FORWARD;
- PROCEDURE TermToolActivate(hTerm: TermHandle);
- FORWARD;
- PROCEDURE TermToolDeactivate(hTerm: TermHandle);
- FORWARD;
- FUNCTION TermToolIdle(hTerm: TermHandle): LongInt;
- FORWARD;
- FUNCTION TermToolReset(hTerm: TermHandle): LongInt;
- FORWARD;
- PROCEDURE TermToolKey(hTerm: TermHandle; pEvent: EventPtr);
- FORWARD;
- FUNCTION TermToolStream(hTerm: TermHandle; pBuffer: CharPtr;
- theBufferSize: Integer): LongInt;
- FORWARD;
- FUNCTION TermToolResize(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolUpdate(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolClick(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolGetSelection(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolSetSelection(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolScroll(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolClear(hTerm: TermHandle): LongInt;
- FORWARD;
- FUNCTION TermToolGetLine(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolPaint(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolCursor(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolGetEnvirons(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolDoTermKey(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolCountTermKeys(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
- FUNCTION TermToolGetIndTermKey(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- FORWARD;
-
- { end of FORWARD declarations }
-
-
-
-
- FUNCTION tdefMAIN(hTerm: TermHandle; msg: Integer;
- p1, p2, p3: LongInt): LongInt;
- BEGIN
- tdefMAIN := 0; { it helps to be optimistic }
- CASE msg OF { values of msg here come straight from
- the interface file values. Each
- must be handled. }
- TMInitMsg:
- tdefMAIN := TermToolInit(hTerm);
- TMDisposeMsg:
- TermToolDispose(hTerm);
- TMSuspendMsg:
- TermToolSuspend(hTerm);
- TMResumeMsg:
- TermToolResume(hTerm);
- TMMenuMsg:
- tdefMAIN := TermToolMenu(hTerm,p1,p2,p3);
- TMEventMsg:
- tdefMAIN := TermToolEvent(hTerm);
- TMActivateMsg:
- TermToolActivate(hTerm);
- TMDeactivateMsg:
- TermToolDeactivate(hTerm);
- TMIdleMsg:
- tdefMAIN := TermToolIdle(hTerm);
- TMResetMsg:
- tdefMAIN := TermToolReset(hTerm);
- TMKeyMsg:
- TermToolKey(hTerm,EventPtr(p1));
- TMStreamMsg:
- tdefMAIN := TermToolStream(hTerm, CharPtr(p1), p2);
- TMResizeMsg:
- tdefMAIN := TermToolReSize(hTerm,p1,p2,p3);
- TMUpdateMsg:
- tdefMAIN := TermToolUpdate(hTerm,p1,p2,p3);
- TMClickMsg:
- tdefMAIN := TermToolClick(hTerm,p1,p2,p3);
- TMGetSelectionMsg:
- tdefMAIN := TermToolGetSelection(hTerm,p1,p2,p3) ;
- TMSetSelectionMsg:
- tdefMAIN := TermToolSetSelection(hTerm,p1,p2,p3);
- TMScrollMsg:
- tdefMAIN := TermToolScroll(hTerm,p1,p2,p3);
- TMClearMsg:
- tdefMAIN := TermToolClear(hTerm);
- TMGetLineMsg:
- tdefMAIN := TermToolGetLine(hTerm,p1,p2,p3);
- TMPaintMsg:
- tdefMAIN := TermToolPaint(hTerm,p1,p2,p3);
- TMCursorMsg:
- tdefMAIN := TermToolCursor(hTerm,p1,p2,p3);
- TMGetEnvironsMsg:
- tdefMAIN := TermToolGetEnvirons(hTerm,p1,p2,p3);
- TMDoTermKeyMsg:
- tdefMAIN := TermToolDoTermKey(hTerm,p1,p2,p3);
- TMCountTermKeysMsg:
- tdefMAIN := TermToolCountTermKeys(hTerm,p1,p2,p3);
- TMGetIndTermKeyMsg:
- tdefMAIN := TermToolGetIndTermKey(hTerm,p1,p2,p3);
- OTHERWISE
- tdefMain := 0;
- END; { CASE }
- END;
-
-
- FUNCTION TermToolInit(hTerm: TermHandle): LongInt;
- VAR
- StrResID: Integer;
- privatePtr: TERMINALPrivatePtr;
- theProcID: Integer;
- BEGIN
- TermToolInit := LongInt(TMNoErr);
-
- { Here we are going to space for our private tool structure,
- TERMINALPrivateRecord, which I've chosen to declare in my
- single global unit, TermGlobalUnit.p }
- privatePtr := TERMINALPrivatePtr(NewPtrClear(SIZEOF
- (TERMINALPrivateRecord)));
- IF privatePtr = NIL THEN
- BEGIN
- { Something is goofy with memory allocation, better
- let everybody know, including the Terminal Mgr,
- then exit. }
- hTerm^^.errCode := MemError;
- TermToolInit := LongInt(MemError);
- Exit(TermToolInit);
- END
- ELSE { so far, so good }
- BEGIN
- theProcID := hTerm^^.procID; { which tool? }
- StrResID := CRMLocalToRealID(ClassTM, theProcID,
- 'STR#', verUS); { let's use the CommResource Mgr
- to get the real resource numbers }
- IF (StrResID = -1) THEN
- BEGIN
- { Something is goofy with memory allocation, better
- let everybody know, including the Terminal Mgr,
- then exit. }
- hTerm^^.errCode := MemError;
- TermToolInit := LongInt(MemError);
- Exit(TermToolInit);
- END;
- privatePtr^.currentLanguage := StrResID;
- hTerm^^.tmPrivate := Ptr(privatePtr);
- END;
- END;
-
-
- PROCEDURE TermToolDispose(hTerm: TermHandle);
- BEGIN
- { Standard cleanup of our private data structure. Since the
- Terminal manager doesn't really know it's here, we delete it
- ourselves. The toolbox & application take care of other
- cleanup. }
- DisposPtr(Ptr(hTerm^^.tmPrivate));
- END;
-
-
-
-
- { Beginning here, until the end of the module, I will repeatedly
- utilize a very simple error checker for each procedure or function.
- Normally a tool would have to perform more useful utility, but
- "at press time" I simply wanted this tool to check the toolbox
- calling conventions. CSH :) }
-
-
-
- PROCEDURE
- TermToolActivate(hTerm: TermHandle);
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolActivate');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- PROCEDURE
- TermToolDeactivate(hTerm: TermHandle);
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolDeactivate');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- PROCEDURE
- TermToolSuspend(hTerm: TermHandle);
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolSuspend');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- PROCEDURE
- TermToolResume(hTerm: TermHandle);
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolResume');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolMenu(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolMenu');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolEvent(hTerm: TermHandle): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolEvent');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolIdle(hTerm: TermHandle): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolIdle');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolReset(hTerm: TermHandle): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolReset');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- PROCEDURE TermToolKey(hTerm: TermHandle; pEvent: EventPtr);
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolKey');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolStream(hTerm: TermHandle; pBuffer: CharPtr;
- theBufferSize: Integer): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolStream');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolReSize(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolReSize');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolUpdate(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolUpdate');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolClick(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolClick');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolGetSelection(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolGetSelection');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolSetSelection(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolSetSelection');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolScroll(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolScroll');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolClear(hTerm: TermHandle): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolClear');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolGetLine(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolGetLine');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolPaint(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolPaint');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolCursor(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolCursor');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolGetEnvirons(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolGetEnvirons');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolDoTermKey(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolDoTermKey');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolCountTermKeys(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolCountTermKeys');
- HSetState(Handle(hTerm), theState);
- END;
-
-
- FUNCTION
- TermToolGetIndTermKey(hTerm: TermHandle; p1, p2, p3: LongInt): LongInt;
- VAR
- theState: SignedByte;
- pPrivate: TERMINALPrivatePtr;
- pConfig: TerminalPtr;
- theProcID: Integer;
- BEGIN
- theState := HGetState(Handle(hTerm));
- HLock(Handle(hTerm));
- pPrivate := TERMINALPrivatePtr(hTerm^^.tmPrivate);
- pConfig := TerminalPtr(hTerm^^.config);
- theProcID := (hTerm^^.procID);
- IF (theProcID < 3) OR (pConfig = NIL) OR (pPrivate = NIL) THEN
- DebugStr('The pipe is blocked from TermToolGetIndTermKey');
- HSetState(Handle(hTerm), theState);
- END;
-
-
-
-
-
-
- END.